/**
 * 
 */
package Module_2;

/**
 * @author Schweingruber Roger
 * @date 15.11.2011
 * @version 
 *
 */
public class Datum {

	protected int jahr;
	protected int monat;
	protected int tag;
	
	/**
	 * Konstruktor
	 */
	public Datum(int t, int m, int j) {
		setDatum(t,m,j);
	}

	private void setDatum(int t, int m, int j) {
		jahr = j;
		monat = m;
		tag = t;		
	}
	
	/**
	 * @return Schaltjahr Ja / Nein
	 */
	public boolean istSchaltjahr() {
		boolean schaltjahr = false;
		
		if ((jahr % 4) == 0) {
			schaltjahr = true;
		}
			
		if ((jahr % 100) == 0) {
			schaltjahr = false;
		}
		
		if ((jahr % 400) == 0) {
			schaltjahr = true;
		}
		
		return schaltjahr;
	}
	
	public int getMonatstage(int monat) {
		
		int monat1 = 31;
		
		switch (monat) {
		case 2:
			if (istSchaltjahr()) {
				monat1 = 29;
			} else {
				monat1 = 28;
			}
			break;		
		case 4:
			monat1 = 30;
			break;
		case 6:
			monat1 = 30;
			break;
		case 9:
			monat1 = 30;
			break;
		case 11: 	
			monat1 = 30;
			break;
		default:
			monat1 = 31;
			break;
		}
		return monat1;
	}
	
	public void nextTag() {
		tag++;
		if (tag > getMonatstage(monat)) {
			monat++;
			tag = 1;
			
			if (monat > 12) {
				jahr++;
				monat = 1;
			}
		}
	}
}
